W32: Implement rudimentary WM_NCHITTEST handling
authorРуслан Ижбулатов <lrn1986@gmail.com>
Thu, 24 Jul 2014 16:27:09 +0000 (16:27 +0000)
committerРуслан Ижбулатов <lrn1986@gmail.com>
Tue, 29 Jul 2014 01:31:49 +0000 (01:31 +0000)
commita23c29c0fb7c9f5064fd16f42c66a79f8f386352
tree8506f4925bfa585c70a1ff17c69cafacb9db8e1c
parent341108d4fc93217c0aa3cf634e8d84bf79604c30
W32: Implement rudimentary WM_NCHITTEST handling

Use (cairo) input shape of the window to check whether a point is inside or not
inside the window.
If it is, let the default window procedure do its thing (which seems to be
working all right in all known cases).
If it isn't, override the default window procedure and tell WM what we think.

Don't do any of the above if the window has CSD-incompatible styles (WS_BORDER
or WS_THICKFRAME).

This is a crude kind of substitute for window input shape support (which W32
does not seem to have). Still probably enough to be positive about input shapes
support.

https://bugzilla.gnome.org/show_bug.cgi?id=733679
gdk/win32/gdkdisplay-win32.c
gdk/win32/gdkevents-win32.c
gdk/win32/gdkwindow-win32.c